经过实际测试,AMD 的核显配上 Nvidia 的独显也是可以使用这个方案的。我的电脑是天选 1 代 2060 版(TUF Gaming 506 IV),当时这个笔记本刚出来的时候,我尝试了大黄蜂方案,但是没有成功,不过这个方案是可行的。
我用的系统是 Debian Testing,所以接下来的包管理命令是 apt。
请先用 uname -r 检查你的 Linux 内核版本,5.x 以后的版本才有 AMD 核显驱动,若内核版本较低请先进行更新。
Debian 10 才有 5.x 及以上版本的 Linux 内核
然后安装 firmware-amd-graphics。
sudo apt install firmware-amd-graphics
然后禁用一下 nouveau 驱动,理论上接下来安装 Nvidia 驱动会自动禁用 nouveau 驱动,但保险起见你可以手动禁用一下。
直接使用 apt 源中的驱动即可,不需要去官网下载。
sudo apt install nvidia-driver nvidia-vulkan-common nvidia-vulkan-icd nvidia-vaapi-driver nvidia-vdpau-driver
安装完毕之后需要重启你的电脑。
现在你已经可以通过在命令前加上
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only
来使用 Nvidia 显卡运行命令,例如:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only glxgears -info
如果你使用的是 Bash,那么你可以在 ~/.bashrc 文件的最后加上一行:
alias optirun='__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only'
重新登录后就可以直接使用 optirun 代替冗长的环境变量。
optirun glxgears -info
你也可以极端一点把这段环境变量添加到 /etc/profile 中,所有应用程序均使用 Nvidia 显卡进行渲染,但是这么做会造成一些渲染错误。
sudo ln -s /usr/bin/gcc-11 /usr/bin/gcc
sudo ln -s /usr/bin/g++-11 /usr/bin/g++
sudo apt install linux-image-amd64 linux-headers-amd64
往你的 grub 的 linux 内核参数上添加 nvidia_drm.modeset=1